// 获取用户信息
export function getUInfo() {
	try {
		return JSON.parse(uni.getStorageSync('userinfo'))
	} catch (e) {
		return {}
	}
}

// 是否登录
export function isLogin() {
	if (getUInfo() && getUInfo().id) return true
	return false
}

// 是否是物流公司负责人 
export function isLeader() {
	if (getUInfo() && getUInfo().company_id) return true
	return false
}

// 时间戳 => 年月日
export function timestampToDateFormat(timestamp) {
	const dateObj = new Date(timestamp) // 创建Date对象
	const year = dateObj.getFullYear() // 获取年份
	const month = ("0" + (dateObj.getMonth() + 1)).slice(-2) // 获取月份，并补零
	const day = ("0" + dateObj.getDate()).slice(-2) // 获取日期，并补零
	return `${year}.${month}.${day}` // 返回转换后的日期格式
}

// 时间戳 => 年月日时分
export function timestampToYMDHM(timestamp) {
	const dateObj = new Date(timestamp) // 创建Date对象
	const year = dateObj.getFullYear() // 获取年份
	const month = ("0" + (dateObj.getMonth() + 1)).slice(-2) // 获取月份，并补零
	const day = ("0" + dateObj.getDate()).slice(-2) // 获取日期，并补零
	const hour = ("0" + dateObj.getHours()).slice(-2) // 获取日期，并补零
	const minute = ("0" + dateObj.getMinutes()).slice(-2)
	return `${year}.${month}.${day} ${hour}:${minute}`
}

// 时间戳 => 年月日时分秒
export function timestampToYMDHMS(timestamp) {
	const dateObj = new Date(timestamp) // 创建Date对象
	const year = dateObj.getFullYear() // 获取年份
	const month = ("0" + (dateObj.getMonth() + 1)).slice(-2) // 获取月份，并补零
	const day = ("0" + dateObj.getDate()).slice(-2) // 获取日期，并补零
	const hour = ("0" + dateObj.getHours()).slice(-2) // 获取日期，并补零
	const minute = ("0" + dateObj.getMinutes()).slice(-2)
	const second = ("0" + dateObj.getSeconds()).slice(-2)
	return `${year}.${month}.${day} ${hour}:${minute}:${second}`
}

// 获取状态文案  1 待接单 2 接单 3 拒绝接单 4 填写信息
export function getStatusTxt(audit) {
	if (audit == '1') return '待接单'
	else if (audit == '2') return '已接单'
	else if (audit == '3') return '已拒绝'
	else if (audit == '4') return '绑定TMS'
	return '未知'
}

export function getDistance(lat1, lon1, lat2, lon2) {
	try {
		const earthRadius = 6371 // 地球半径，单位为千米
		const radLat1 = toRadians(lat1)
		const radLat2 = toRadians(lat2)
		const deltaLat = radLat2 - radLat1
		const deltaLon = toRadians(lon2) - toRadians(lon1)

		const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.sin(deltaLon / 2) * Math.sin(deltaLon / 2)
		const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a))
		const distance = earthRadius * c

		return distance.toFixed(2)

	} catch (error) {
		return 9999.99
	}
}

function toRadians(degrees) {
	return degrees * Math.PI / 180
}